package com.superhelper.common;

import java.nio.charset.Charset;

/**
 * 项目常量类
 * 
 * @author duanshao
 * 
 */
public interface Consts {

    String UTF8 = "utf-8";

    Charset UTF8_CHARSET = Charset.forName(UTF8);

    interface Redis {
        String SUB_ORDER = "order:%s:%s";// order:ele:shopId
        String USER_ONLINE = "user_online_%s";// 缓存不为空，表示在线，否则离线(pc)
        String USER_LOGIN_PREFIX = "super_user_login_key_";
        String ELEME_TOKEN = "super_helper_eleme_token_";
        String MT_TOKEN = "super_helper_mt_token_";
        String WIFI_ORDER = "super_wifi:order";
        String SUPER_SHOP = "super_helper_shop_";
    }

    interface Task {
        // 预定订单
        String book_order = "book_order";
        String normal_order = "normal_order";
        String deliver_record = "deliver_record";
        String add_tip = "add_tip";
        String query_deliver_record = "query_deliver_record";

        String print = "print";
    }

    // 通用状态码
    interface Code {

        /** 公用的返回码 */
        // 成功
        int SUCCESS = 0;
        // 失败
        int FAIL = -1;
        // 签名错误
        int SIGN_ERROR = 1;
        // 网络链接错误
        int NET_CONN_ERROR = 2;

        // 安全错误
        int SECURE_ERROR = 3;
        // 内部错误,发生异常等
        int INTERNAL_ERROR = 4;
        // 参数错误
        int DATA_ERROR = 5;
        // 请求错误，参数不足
        int REQ_ERROR = 6;
        // 业务信息错误
        int APP_INFO_ERROR = 7;
        // 数据不存在
        int DATA_NO_FOUND = 8;

        // 网络响应错误
        int NET_READ_ERROR = 9;

        // 已点过赞
        int LIKED = 10;

        // 验证码超时
        int CODE_TIMEOUT = 11;
        // 请求频繁
        int REQUEST_MANY_TIMES = 12;
        // 不允许操作
        int NO_PERMISSIONS = 13;

        /** 注册接口方法特定的返回码 1000 */
        // 用户注册.无效密码
        int USER_REGISTE_PWD_INVALID = 1001;
        // 用户注册.无效手机
        int USER_REGISTE_PHONE_INVALID = 1002;
        // 用户注册.无效验证码
        int VERIFY_CODE_INVALID = 1003;
        // 用户注册.无效昵称
        int USER_REGISTE_NICK_INVALID = 1004;
        // 用户注册.无效生日
        int USER_REGISTE_BIRTH_INVALID = 1005;
        // 用户注册.无效省下标
        int USER_REGISTE_PROVINCE_INVALID = 1006;
        // 用户注册.无效市下标
        int USER_REGISTE_CITY_INVALID = 1007;
        // 用户注册.无效县区下标
        int USER_REGISTE_DISTRICE_INVALID = 1008;
        // 用户注册.无效性别
        int USER_REGISTE_SEX_INVALID = 1009;
        // 用户注册.手机号码已经存在
        int USER_REGISTE_PHONE_EXISTS = 1010;
        // 搜索用户.是自己本身
        int USER_SEARCH_EXIST = 1011;
        // 用户出生日期不能大于当前年份
        int USER_REGISTE_AGE_INVALID = 1012;
        // 用户注册.昵称包含敏感词
        int USER_REGISTE_NICK_KEYWORD = 1013;
        // 用户注册.昵称已经存在
        int USER_REGISTE_NICK_EXIST = 10014;

        /** 登录接口方法特定的返回码 2000 */
        // 用户登录.帐号或密码不正确
        int USER_LOGIN_FAIL_INVALID = 2001;
        // 用户登录.无效帐号
        int USER_LOGIN_USERNAME_INVALID = 2002;
        // 用户登录.无效密码
        int USER_LOGIN_PASSWORD_INVALID = 2003;

        // 用户被禁止登录
        int USER_LOGIN_FORBIDDEN = 2004;
        // 用户未绑定
        int USER_NO_BOUND = 2005;
        // 绑定失败
        int USER_BOUND_FAIL = 2006;
        // 绑定成功
        int USER_BOUND_SUCCESS = 2007;

        /** 修改用户资料方法特定的返回码 3000 */
        // 修改用户.无效年龄
        int USER_SET_AGE_INVALID = 3001;
        // 修改用户.无效生日
        int USER_SET_BIRTH_INVALID = 3002;
        // 修改用户.无效市区下标
        int USER_SET_CITY_INVALID = 3003;
        // 修改用户.无效公司格式
        int USER_SET_COMPANY_INVALID = 3004;
        // 修改用户.无效星座下标
        int USER_SET_CONSTELL_INVALID = 3005;
        // 修改用户.无效县区下标
        int USER_SET_DISTRICT_INVALID = 3006;
        // 修改用户.无效学校
        int USER_SET_SCHOOL_INVALID = 3007;
        // 修改用户.无效兴趣
        int USER_SET_HOBBY_INVALID = 3008;
        // 修改用户密码.旧密码不正确
        int USER_SET_PASSWORD_FAIL = 3009;

        // 用户不存在
        int USER_NOT_EXISTS = 4001;
        // 密码与原密码相同
        int SAME_PASSWORD = 4002;
        // 搜索自己
        int SEARCH_YOURSELF = 4003;

        // 漫游超时
        int ROAMING_OUTTIME = 5001;
        // 正在漫游
        int ROAMING_GOING = 5002;
        // 没有此用户
        int ROAMING_NULL = 5003;
        // 金币不足
        int GOLD_NOT_ENOUGH = 5004;

        // 已经点过赞
        int POSTS_LIKED = 6001;
        // 帖子不存在
        int POSTS_NOT_EXIST = 6002;
        // 回复不存在
        int REPLY_NOT_EXIST = 6003;
        // 收藏过
        int POSTS_FAVORITED = 6004;
        // 帖子已发布
        int POSTS_PUBLISHED = 6005;

        // 群不存在
        int GROUP_NOT_EXISTS = 7000;
        // 群已创建达到限制
        int GROUP_MAX = 7001;
        // 群人员达到限制
        int GROUP_MEMBER_MAX = 7002;
        // 聊天室太繁忙，请稍后挤一挤
        int CHATROOM_BUSY = 7003;
        // 聊天室没有开放
        int CHATROOM_NOT_OPEN = 7004;
        // 被运营/管理员t出群组
        int GROUP_MEMBER_DELETED = 7005;
        // 每个用户最多只能加入N个聊天室
        int GROUP_COUNT_LIMIT = 7006;

        int HXSERVICE_SET_PASSWORD_FAIL = 9001;
        // 已举报过
        int REPORTED = 9002;
        // 帖子被举报次数达到限制
        int OVER_LIMITED = 9003;
        // 帖子已被删除
        int POSTS_DELETED = 9004;
        // 举报次数
        int REPORT_LIMITED = 10;

        // 已经点过赞
    }

    /**
     * 设备信息
     */
    interface Device {
        String IOS = "ios";
        String ANDROID = "android";
    }

}
